﻿using DataSharing.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace DataSharing.Controllers
{
    public class ProductManagerController : Controller
    {
        public List<Product> Products
        {
            get
            {
                var list = Session["List"] as List<Product>;
                if (list == null) // chưa bỏ list vào session
                {
                    list = Data.Products;
                    Session["List"] = list;
                }
                return list;
            }
        }
        //
        // GET: /ProductManager/
        public ActionResult Index()
        {
            ViewBag.Products = this.Products;

            var product = new Product();
            return View(product);
        }

        public ActionResult Insert(Product model)
        {
            this.Products.Add(model);
            return RedirectToAction("Index");
        }

        public ActionResult Edit(int Id)
        {
            ViewBag.Products = this.Products;

            var product = this.Products.Single(p => p.Id == Id);

            return View("Index", product);
        }

        public ActionResult Update(Product model)
        {
            // Tìm sản phẩm cần sửa
            var product = this.Products.Single(p => p.Id == model.Id);
            // Cập nhật thông tin mới
            product.Name = model.Name;
            product.Image = model.Image;
            product.Quantity = model.Quantity;
            product.UnitPrice = model.UnitPrice;

            return RedirectToAction("Index");
        }

        public ActionResult Delete(int Id)
        {
            // Tìm và xóa sản phẩm theo Id
            var product = this.Products.Single(p => p.Id == Id);
            this.Products.Remove(product);

            return RedirectToAction("Index");
        }
	}
}